package com.snail.clouds.framework.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 虚拟存储表实体类
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("virtual_storage")
public class VirtualStorage extends BaseEntity {
    /**
     * 存储ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    
    /**
     * 文件唯一标识
     */
    @TableField("file_id")
    private String fileId;
    
    /**
     * 原始文件名
     */
    @TableField("original_filename")
    private String originalFilename;
    
    /**
     * 文件大小(字节)
     */
    @TableField("file_size_bytes")
    private Long fileSizeBytes;
    
    /**
     * 媒体类型
     */
    @TableField("media_type")
    private String mediaType;
    
    /**
     * 文件扩展名
     */
    @TableField("file_extension")
    private String fileExtension;
    
    /**
     * 引用计数
     */
    @TableField("reference_count")
    private Integer referenceCount;
    
    /**
     * 下载次数
     */
    @TableField("download_count")
    private Integer downloadCount;
    
    /**
     * 文件状态(1:正常, 2:删除, 3:异常)
     */
    @TableField("status")
    private Integer status;
    
    /**
     * 云提供商
     */
    @TableField("cloud_provider")
    private String cloudProvider;
    
    /**
     * 云端文件ID
     */
    @TableField("cloud_file_id")
    private String cloudFileId;
    
    /**
     * 本地数据
     */
    @TableField("local_data")
    private String localData;
}